import matplotlib.pyplot as plt
import json
#读取文件 将动作小游戏全部读取出来

#定义整形变量，用于保存现在爬取出来的各种类型的小游戏数量
def read_txt(txt):
    with open(txt,'r',encoding='utf-8') as f:
        dict = json.load(f)
        f.close()
    for k,v in dict.items():
        print(k+':'+str(len(v)))
    return k,len(v)
#数据分析方法
def data_analyze(list_gamenum,list_tag):
    # 进行图像化分析  下面两行用于处理中文乱码
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['axes.unicode_minus'] = False
    plt.bar(range(len(list_gamenum)), list_gamenum, color='rgb', tick_label=list_tag)
    # 添加轴标签
    plt.ylabel('各类型游戏数量')
    # 添加标题
    plt.title('4399小游戏数量统计')
    # 为每个条形图添加数值标签
    for x, y in enumerate(list_gamenum):
        plt.text(x, y + 1000, '%s' % y, ha='center')  # x，y是文字需要显示的位置 可以上下左右平移，字符串是需要显示的内容
    plt.show()
if __name__ == '__main__':
    #定义全局变量
    dict = {}
    #定义两个列表分表保存小游戏的标签以及数量
    list_tag = []
    list_gamenum = []
    #需要读取的文本文件
    text_list = ['data.txt','intelligence_game.txt','PE_game.txt']
    #循环遍历列表
    for item in text_list:
        k,len_v = read_txt(item)
        list_tag.append(k)
        list_gamenum.append(len_v)
    #调用数据分析方法
    data_analyze(list_gamenum,list_tag)
